package keqiang.com.kq_flutter_core_widget.interf;

import io.flutter.plugin.common.MethodChannel;

import java.util.Map;


/**
 * 定制FlutterActivity关闭动画，需实现这个接口
 */
public interface IKqRoute {
    
    /**
     * 关闭页面
     */
    void closeAct();
    
    /**
     * 打开页面
     *
     * @param result   回调结果，不管打开成功还是失败，都需要调用{@link MethodChannel.Result#success(Object)}
     *                 或{@link MethodChannel.Result#error(String, String, Object)}方法，否则Flutter会一直等待
     * @param pageName 打开界面名称
     * @param params   打开界面参数
     */
    void openAct(MethodChannel.Result result, String pageName, Map<String, Object> params);
    
    /**
     * 退出登录
     */
    void exitLogin();
    
    /**
     * 设置横竖屏切换逻辑
     *
     * @param orientationMode 0:强制竖屏 1:强制横屏 2:自动旋转
     */
    void setOrientationMode(int orientationMode);
    
    /**
     * 微信授权登录
     */
    void wxLogin(IWxAuthCallback callback);
    
    /**
     * 初始化OSS
     */
    void initOSS(String bucketName);
}

